'''
1、基本概念：见MySQL学习笔记---- 1 SQL的基本概念.py
           见python入门 ----- 3-2 python操作MySQL.py
2、MySQL环境搭建
    ① 服务端安装
        安装：sudo yum update
             sudo yum install mysql-server
        启动：sudo systemctl start mysqld
             sudo systemctl enable mysqld（设置为开机启动）
        检查是否安装：rpm -qa | grep mysql
        查看：ps ajx|grep mysql  # 查看进程中是否存在mysql服务
        关闭： sudo service mysql stop
    ② 客户端安装
        安装：yum repolist all | grep mysql
             yum repolist enabled | grep mysql
             yum install -y mysql-community-client
        验证安装：mysql --version
        最基本的连接命令：mysql-uroot-pmysql
        退出：exit/quit/ctrl+z
3、centos安装mysql（完整、可行）
    查看是否安装：rpm -qa|grep mysql
    开始安装：wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
            yum install wget
            rpm -Uvh mysql-community-release-el7-5.noarch.rpm
            yum -y install mysql-community-server
    启动：service mysql start
    查看启动状态：service mysql status
    设置用户名和密码：mysql -uroot
                   use mysql;
                   update user set password=password('123456') where user='root';
    设置远程可访问：GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
    刷新：flush privileges;
    退出：exit
    连接：mysql -hip地址 -uroot -p  （输入密码：123456）
    关闭防火墙：
       查看状态：systemctl status firewalld
       关闭：systemctl stop firewalld
       启动：systemctl start firewalld
       禁用：systemctl disable firewalld
       开启：systemctl enable firewalld
4、基本操作：
      回首行：ctrl + a
      回行末：ctrl + e
      清屏： ctrl + l
      结束：ctrl + c + 回车
      版本： select version（）；
      时间： select now（）；
5、创建数据库：
     create database mysql charset=utf8;
     use mysql;
     select database();
     show create database mysql;

6、创建表：
     create table student(
        id int unsigned primary key auto-increment not null,
        gender enum('男','女')
     );
7、修改表结构：
     查看表详情：desc mysql;
     新增列：   alter table student add age varchar(20);
     修改列：   alter table student modify age varchar(50);
     重命名列： alter table student change age agg text;
     删除列：  alter table student drop age;
     删除表：  drop table student;
8、表数据的增删改查：
    增：insert into student values();
    删（物理）：delete from student where age=20;
      （逻辑）：alter table student add is_delete bit default 0;
              update student set is_delete=1 where name='zhangsan';
    改：update student set name='小花' where age=20;
    查：select name,age from student;
9、分组：
    select group_concat(name),gender from student group by gender;（分组，组内呈现姓名）
    select count(*),gender from student group by gender with rollup;（分组呈现，最后汇总）
10、分页：
    select * from student order by age limit 6,2;（每页显示2个，显示第4页信息）---（4-1）*2=6
11、导入sql文件：
    source student.sql
12、表的优化实现：
    insert into student(name) (select name from class group by name); --部分插入，只添加name，
                                                                        把查询结果一次性插入另一个表时，不用加values
    update (student inner join class on student.name=class.student) set student.name=class_student.id;
'''